Krzysztof Noga
Celem projektu jest otrzymanie predykcji oglądalności dla ramówki stacji telewizyjnej tworzonej na okres ok. dwóch miesięcy. Istotnym elementem prognozowania będzie możliwość dokonywania ewentualnych zmian programowych, tak by poprawić wyniki do poziomu satysfakcjonującego. Poziom ten będzie mógł być oceniony na podstawie wynikowych zmiennych modelowanych AMR i SHR. SHR (Share) - jest to termin stosowany w badaniach marketingowych dotyczących mediów. Określa on jaki odsetek osób, które w danym czasie oglądały telewizję było widzami danego programu (lub inaczej: jaki był udział w widowni telewizyjnej). Współczynnik udziału w rynku oblicza się dzieląc średnią liczbę widzów oglądających daną stację telewizyjną lub program przez całkowitą liczbę widzów oglądających telewizję w danym czasie. AMR (Average Minute Rating) - Jest to miara stosowana w branży telewizyjnej, która odzwierciedla średnią liczbę osób oglądających daną stację telewizyjną w ciągu minuty w określonym przedziale czasowym ). Średnia liczba widzów w ciągu minuty obliczana jest przez sumowanie liczby osób, które oglądały w danym momencie w ciągu określonego przedziału czasu (na przykład w ciągu godziny) i dzielenie tej liczby przez liczbę minut w tym przedziale czasowym. AMR jest ważnym wskaźnikiem dla reklamodawców i stacji telewizyjnych, którzy chcą mierzyć popularność i zasięg swojego programu. Widownia (Audience) będąca odzwierciedleniem wejść panelistów na minimum 5 minut dla danego panelisty dla poprawnej oceny realności (ok. 4819 osób w grupie targetowej 16-59 lat - przeliczana na populację ok. 21mln w tym wieku). Dane do budowy modelu składają się z wyników oglądalności (Prog share - SHR i '000 avg - AMR/1000) dla wszystkich granych tytułów z ostatnich 5 lat dla kilkunastu stacji komercyjnych (konkurencja + stacja zlecająca modelowanie). W poszczególnych kolumnach znaleźć można nazwę stacji telewizyjnej, dzień emisji, godzinę startu emisji, nazwę programu oraz wyniki współczynnika udziału w rynku (Prog Share) i promile średniej liczby widzów w ciągu minuty ('000 avg). Obiektem zainteresowania są średnie wyniki oglądalności w danych pasmach np. w godzinach 9-12, 12-15, 15-18. W zależności od poziomu udziałów oglądalności w rynku możliwe są lepsze warunki reklamowe dla danej stacji telewizyjnej. Dla potrzeb wykonania projektu należy: a) oczyścić dane poprzez usunięcie pozycji określonych jako "blad emisji" oraz ostatniego wiersza będącego zbędnym podsumowaniem i przekształcenie zbioru, w którym godziny emisji 00 oraz 01 są zastąpione przez godziny 24 i 25 dnia poprzedniego. b) ustalić wpływ konkretnych cech (np. dzień tygodnia, pasmo, tytuł, stacja) na oglądalność. c) określić jaki rodzaj modelu będzie w stanie zarówno: - wykorzystać trendy i sezonowość zmian oglądalności na przestrzeni analizowanego okresu oraz w odpowiednich pasmach programowych. - wykorzystać zależności wyników oglądalności od tytułów granych przez stację zlecającą. - wykorzystać zależności wyników oglądalności od tytułów granych przez jej bezpośrednią konkurencję. d) przygotować dane do modelowania zgodnie ze zdefiniowanymi przez dany model wejściami. e) Przedstawić w formie wykresów i metryk wynik predykcji dla ostatnich dwóch miesięcy ramówki.
Modelowanie szeregów czasowych z wykorzystaniem współzmiennych (time series modeling with covariates) pozwala na uwzględnienie wpływu innych zmiennych na zmienną objaśnianą w szeregu czasowym. W przypadku szeregów czasowych, zmienna objaśniana jest zwykle zależna od czasu, a współzmienne to zmienne, które mogą mieć wpływ na tę zmienną, ale niekoniecznie są z nią bezpośrednio związane w czasie. Możliwe jest użycie współzmiennych, będących nośnikami informacji z przeszłości (past covariates) jak również współzmiennych będących dostępnymi w przyszłości (future covariates).Model lightGBM w bibliotece darts to model drzew decyzyjnych, który jest stosowany do prognozowania szeregów czasowych wykorzystując następujące parametry: 1) Lags - Liczba opóźnień szeregu czasowego (lagów) branych pod uwagę w modelu. Lags określa liczbę punktów czasowych, które zostaną wzięte pod uwagę podczas prognozowania przyszłych wartości. Im większa wartość Lags, tym większa liczba punktów czasowych zostanie uwzględniona w modelu, co może prowadzić do zwiększenia dokładności prognozowania. 2) Past_covariates_lags - określa, jak wiele poprzednich wartości współzmiennych będzie uwzględnionych w modelu. Im większa wartość Past_covariates_lags, tym więcej danych o współzmiennych zostanie uwzględnionych w modelu, co może pomóc w prognozowaniu wartości szeregu czasowego w przyszłości. 3) Future_covariates_lags - określa, jak wiele przyszłych wartości współzmiennych będzie uwzględnionych w modelu. Im większa wartość Future_covariates_lags, tym więcej informacji o przyszłych wartościach współzmiennych zostanie uwzględnionych w modelu, co może pomóc w prognozowaniu wartości szeregu czasowego w przyszłości. 4) Output_chunk_length - określa długość prognozy wyjściowej
Iteracyjna zamiana danych na rzeczywiste daty i godziny emisji z uwagi na rozbieżność programu generującego dane (godziny 24 i 25 powinny odpowiadać godzinom 00 i 01 z dnia kolejnego).
Usunięcie zbędnych kolumn i zmiana nazw pozostałych z nich. Oczyszczanie zbioru z danych będących błędami : "Blad emisji".
Dodanie kolumny z podziałem na 3-godzinne pasma programowe
Dodanie kolumny z dniem tygodnia
Oznaczenie dolnej granicznej wartości pozycji o ponad przeciętnej oglądalności.
Średni udział programowy poszczególnych stacji potrzebny do stworzenia ramki niezbędnej do iterowania niezależnego od kanałów wrzucanych do prognoz celem stworzenia macierzy pozycji heat'owych konkurencji w danych pasmach.
Średni udział oglądalności poszczególnych tytułów dla History
Podział testowych danych na ostatnie dwa miesiące, gdyż taki okres będzie potrzebny do predykcji przy tworzeniu nowych ramówek.
Sprawdzenie różnic pomiędzy modelami 1 i 2 z wykorzystaniem tych samych metryk świadczy o pewnych rozbieżnościach wskazań.
Tworzenie tabeli porównawczej z faktycznymi wynikami oglądalności i w osobnej kolumnie z prognozowanymi.
(darts.lightGBMModel nie pozwala posiada funkcji ich doboru)
Próba doboru optymalnych feature'ów na podstawie threshold.
Czas dopasowywanie skrócony z czterech godzin do 45 minut (porównywalny z modelem 1 bez future covariates), ale metryki słabsze.
Najlepszymi wynikami na podstawie metryk i wykresów wyróżnia się model2 otrzymany z wykorzystaniem narzędzia darts lightGBMModel z użyciem współzmiennych przyszłych (future covariates). Usunięcie części cech oraz niewykorzystywanie przyszłych wspołzmiennych powoduje osłabienie predykcji w rejonie końca okresu prognozowanego. Predykcje w tym okresie są mniej elastyczne i oscylują na zawyżonym poziomie w stosunku do realnych wyników oglądalności. Wszystkie modele mają trudności z prognozowaniem wysokich, anomalnych pików oglądalności. W przyszłości należałoby włączyć dodatkowe współzmienne w postaci dni świątecznych, dużych wydarzeń sportowych/kulturalnych oraz danych meteorologicznych w poszczególnych dniach. Na podstawie wykresów można stwierdzić, że Wszystkie modele lightGBM dobrze radzą sobie z prognozowaniem okresowych spadków oglądalności w pasmach nocnych. Modele osiągają lepsze wyniki dla predykcji wskaźnika AMR niż w przypadku SHR z uwagi na brak dodatkowego czynnika jakim jest totalna widownia wpływająca na obliczenia SHR.
Model LightGBM biblioteki Darts wykorzystujący współzmienne przeszłe i przyszłe osiąga podobne wyniki dla zbioru walidacyjnego jak w przypadku zbioru testowego.